package io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * JAVA IO 输入与输出
 * java按照输入与输出方向划分两个操作：读和写
 * 输入是用来获取的，是从外界输入到程序中的方向。
 * 输出是用来写出的
 *
 * java将输入与输出比喻为“（stream）“，即：向同一侧顺序移动的过程。
 * 并且定义了两个超类：
 * java.io.InputStream：输入流
 * 里面规定了所有字节输入流的读取方法，将来实际读取不同设备的输入流都继承自它，
 * 因此都会有这里定义的读取操作，使得程序员可以用相同的读取方式读取不同设备。
 *
 * java.io.OutputStream：输出流。所有字节输出流都继承自它，里面定义了写出字节的方法。
 *
 * 文件流：
 * java.io.FileInputStream和FileOutputStream
 * 它们继承自InputStream和OutputStream.用来来连接文件，进行读写文件数据的流。
 *
 */
public class FOSDemo {
    public static void main(String[] args) throws IOException {
        /*
        文件输出流提供了两种构造方法：
        需要注释，如果指定的文件不存在会自动将其创建出来，前提是该文件所在的目录必须存在！
         */

        //向当前目录下的fos.dat文件写入数据
        // File file = new File("./fos.dat");
        // FileOutputStream fos = new FileOutputStream(file);

        FileOutputStream fos = new FileOutputStream("./fos.dat");
        /*
        void write(int d)
       写入一个字节，将给定的int值对应的2进制的”低八位“写入文件

        文件fos.dat的内容
        00000001
         */
        fos.write(1);
        /*
        00000001  00000010
         */
        fos.write(2);
        System.out.println("写出完毕！");
        fos.close();


    }
}
